PostgreSQL 索引原理和应用场景

主要内容参见:
PostgreSQL Page页结构解析 B-Tree索引索引的组织形式(根枝叶的相互连接)

常用索引调优

Btree 索引的限制

Btree 索引 块 必须存 三个Tuple (硬性要求)

HASH 索引

什么时候适合用HASH 索引?
Btree 索引 块 必须存 三个Tuple (硬性要求),
如果一个字段比较长,则可能创建Btree 索引失败。
所以需要创建Hash 索引。

插入大字段

postgres=# create index blog_index ON blog (content);
ERROR:  index row requires 366352 bytes, maximum size is 8191
postgres=# create index blog_index ON blog using hash(content);
CREATE INDEX